home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / DTP / DTP_TEX / H220.ZIP / ITRNS211.ZIP / LIB / TAMILMAX.MF < prev    next >
Text File  |  1991-08-16  |  18KB  |  447 lines

  1. def tspecs =
  2. if callchar = "k":
  3. % cmchar "Tamil k";
  4. charspec("k",1.5x_height#,x_height#,0);
  5. top y2r=top y3r=top y4r=h;
  6. bot y7=bot y11=0;
  7. y1=y9=y5=.6x_height;
  8. y8=.5y1; y10=.5y1;
  9. y6=.3x_height;
  10. y22=h;
  11. x10=w-u; x8=w-x10;
  12. x3=x5=.6[x8,x10];
  13. x1=x2-.5hair=x22=.2[x8,x10]; x7=.25[x8,x10];
  14. x6=x5;
  15. x4=.9[x8,x10]; x11=.75[x8,x10]; x9=.65[x8,x10];
  16. z21=z1; x101=x10+.6u; y101=y10;
  17. %pickup crisp.nib;
  18. pos1(tthinner,30); pos22(tthinner,30); pos2(.8tmed,90); pos4(.8tmed,90);
  19. pos3(tthick,0); pos5(tthick,0); pos6(tthick,-10);
  20. pos7(tthin,-60); pos8(tthinner,-180);pos21(tmed,-210);
  21. pos9(tmed,-210); pos10(tthick,-340); pos11(tthin,-450);
  22. pos101(tthickest,-340);
  23. % show z1,z1r,z1l,z22,z22r,z22l;
  24. filldraw stroke z1e--z22e;
  25. filldraw stroke z2e--z4e;
  26. x65=x11-.075w; y65=y11+.075h; pos65(tthinnest,-540);
  27. filldraw stroke z3e...z5e...z6e{down}...{left}z7e...{up}z8e...{right}z21e
  28.   ...z9e{right}...z10e{down}...{left}z11e...z65e;
  29. penlabels(1,2,3,4,5,6,7,8,9,10,11,21);
  30. % endchar;
  31.  
  32. elseif callchar = "c":
  33. charspec("c",1.5x_height#,x_height#,0);
  34. top y2r=top y3r=top y4r=h;
  35. bot y7=bot y11=0;
  36. y1=y9=y5=.6x_height;
  37. y8=.5y1; y10=.5y1;
  38. y6=.3x_height;
  39. y22=h;
  40. x10=w-u; x8=w-x10;
  41. x3=x5=.6[x8,x10];
  42. x1=x2-.5hair=x22=.2[x8,x10]; x7=.25[x8,x10];
  43. x6=x5;
  44. x4=.9[x8,x10]; x11=.75[x8,x10]; x9=.65[x8,x10];
  45. z21=z1; x101=x10+.6u; y101=y10;
  46. %pickup crisp.nib;
  47. pos1(tthinner,30); pos22(tthinner,30); pos2(.8tmed,90); pos4(.8tmed,90);
  48. pos3(tthick,0); pos5(tthick,0); pos6(tthick,-10);
  49. pos7(tthin,-60); pos8(tthinner,-180);pos21(tmed,-210);
  50. pos9(tmed,-210); pos10(tthick,-340); pos11(tthin,-450);
  51. pos101(tthickest,-340);
  52. % show z1,z1r,z1l,z22,z22r,z22l;
  53. filldraw stroke z1e--z22e;
  54. filldraw stroke z2e--z4e;
  55. x25=x25r=x25l=x5; y25=y21; y25r=y21r; y25l=y21l;
  56. filldraw stroke z3e...z5e...z6e{down}...{left}z7e...{up}z8e...{right}z21e---z25e;
  57. penlabels(1,2,3,4,5,6,7,8,21,25);
  58. % endchar;
  59.  
  60. elseif callchar = "1":
  61.  
  62. %cmchar "Tamil n dot";
  63. charspec("1",3x_height#,x_height#,0);
  64. %adjust_fit(0,0);
  65. x1=x81=u; x6=.6x10; x8=.6[x1,x6]; x7=.5[x8,x6];
  66. x5=.5[x1,x6]; x3=.5[x1,x8]; x4=x2=.5[x1,x3];
  67. x9=.5[x8,x10]; x10=.7w; x12=.6[x8,x10]; x11=.5[x12,x10];
  68. x13=rt x10r; x14=w-u; x15=x16=.5[x13,x14];
  69. top y5r=top y9r=top y13r=y16=top y14r=h;
  70. bot y4r=bot y7r=bot y11r=y15=0;
  71. y2=y8=y6=y12=y10=.5h;
  72. y81=y1=y3=.5y2;
  73. pos1(tthinner,180); pos2(tthin,90); pos3(tthick,0); pos4(tthin,-90);
  74. pos81(tthinner,-180); pos5(tmed,-270); pos6(tthicker,-360);
  75. pos7(tmed,-450); pos8(tthin,-540); pos9(tmed,-630); pos10(tthicker,-720);
  76. pos11(tmed,-810); pos12(tthin,-900); pos13(tthin,-990);
  77. pos14(tthin,-990); pos15(tthicker,0); pos16(tthicker,0);
  78. if dodraw:
  79. filldraw stroke z1e...{right}z2e...{down}z3e...{left}z4e..z81e...{right}z5e
  80.   ...{down}z6e...{left}z7e...{up}z8e...{right}z9e...{down}z10e
  81.   ...{left}z11e...{up}z12e...{right}z13e; %---z14e;
  82. fi
  83. %filldraw stroke z15e---z16e;
  84. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
  85.  
  86. elseif callchar = "p":
  87.  
  88. charspec("p",1.4x_height#,x_height#,0);
  89. y1=y6=h; y2=y5=bot y3l=bot y4l=0;
  90. lft x1l=lft x2l=x3=u;
  91. rt x5r=rt x6r=x4=w-u;
  92. pos1(tthick,0); pos2(tthick,0); pos3(tthin,90); pos4(tthin,90);
  93. pos5(tthick,0); pos6(tthick,0);
  94. filldraw stroke z1e---z2e;
  95. filldraw stroke z3e---z4e;
  96. filldraw stroke z5e---z6e;
  97. penlabels(1,2,4,6);
  98.  
  99. elseif callchar = "n":
  100.  
  101. charspec("n",1.5x_height#,x_height#,.5x_height#);
  102. x12=u; x11=x1=x2=x3=3u; x4=rt x9r=w-u; 
  103. x7=x5=x6=.4[x1,x9]; x8=.6[x7,x9]; x13=.6[x12,x11]; x10=.5[x7,x8];
  104. y1=y6=y7=0; top y3r=top y4r=y2=y5=h;
  105. y8=.55h; y9=.5y8; bot y13l=-d; y10=y11=-.3d; y12=.4[y10,y13];
  106. pos1(tthinner,0); pos2(tthinner,0); pos3(tmed,90); pos4(tmed,90);
  107. pos5(tthick,0); pos6(tthick,0); pos7(tthin,180); pos8(tthin,90);
  108. pos9(tthick,0); pos10(tthin,-90); pos11(tthin,-90); pos12(tthinner,0);
  109. pos13(tthick,45);
  110. filldraw stroke z1e--z2e; filldraw stroke z3e--z4e; filldraw stroke z5e--z6e;
  111. %filldraw stroke z7e{up}...{right}z8e...{down}z9e...{left}z10e...{left}z11e...{down}z12e..z13e;
  112. penlabels(1,2,4,5,6,8,9,10,11,12,13);
  113. %endchar;
  114.  
  115. elseif callchar = "r":
  116.  
  117. charspec("?",1.125x_height#+2u#,x_height#,0);
  118. lft x1l=lft x2l=x3=u; x4=w-u; x5=x6=.6w;
  119. y1=y6=0; y2=y3=y4=y5=h; 
  120. pos1(tthinnest,0); pos2(tthinnest,0); pos3(tthin,90); pos4(tthin,90);
  121. pos5(tthick,0); pos6(tthick,0);
  122. filldraw stroke z1e---z2e; filldraw stroke z3e---z4e; filldraw stroke z5e---z6e;
  123. penlabels(1,2,3,4,5,6); 
  124.  
  125. elseif callchar = "r2":
  126.  
  127. charspec("?",.9x_height#+2u#,x_height#,0);
  128. lft x1l=lft x2l=x3=u; x4=w-u; x5=x6=.6w;
  129. y1=y6=0; y2=y3=y4=y5=h; 
  130. pos1(tthinnest,0); pos2(tthinnest,0); pos3(tthin,90); pos4(tthin,90);
  131. pos5(tthick,0); pos6(tthick,0);
  132. filldraw stroke z1e---z2e; filldraw stroke z3e---z4e; filldraw stroke z5e---z6e;
  133. penlabels(1,2,3,4,5,6); 
  134.  
  135. elseif callchar="y":
  136.  
  137. charspec("y",1.5x_height#,x_height#,0);
  138. x1=x2=u; x8=x9=x10=w-u; x7=x4=x5=x6=.35[x1,x9]; x3=.35[x1,x5];
  139. y9=y5=y1=h; y2=.3h; y4=.5h; bot y7l=bot y8l=bot y3l=y6=y10=0;
  140. pos1(.8tmed,0); pos2(.8tmed,0); pos3(tthin,90); pos4(tthinner,180);
  141. pos5(tthick,0); pos6(tthick,0); pos7(tthin,90); pos8(tthin,90);
  142. pos9(tthick,0); pos10(tthick,0);
  143. filldraw stroke z1e--z2e{down}...{right}z3e...{up}z4e;
  144. filldraw stroke z5e--z6e; filldraw stroke z7e--z8e; filldraw stroke z9e--z10e;
  145. penlabels(1,2,3,4,5,6,7,8,9,10); 
  146. %endchar;
  147.  
  148. elseif callchar="a":
  149.  
  150. charspec("a",2x_height#,x_height#,desc_depth#);
  151. %adjust_fit(0,0);
  152. x3=.5[x9,x11]; y1=.8h; y5=y12=h; y2=y4=y6=.6h; y3=.2h; x1=.45[x9,x11];
  153. x4=x8=.4[x9,x11]; x2=.6[x9,x11]; x5=.6[x9,x11]; x6=.7[x9,x11]; x7=.8[x9,x11]; x11=x12=x13=w-u;
  154. x9=u; x10=.15[x9,x11]; y8=y13=-d; y7=y3; y9=-.1d; y10=y11=0;
  155. z20=z1;
  156. pos1(hair,70); pos2(.8curve,0); pos3(hair,-90); pos4(hair,190);
  157. pos5(hair,90); pos6(curve,0); pos7(tthickest,-20); pos8(tmed,-90);
  158. pos9(hair,-180); pos10(hair,90); pos11(hair,90); pos12(.8curve,20);
  159. pos13(.8curve,20);pos20(hair,135);
  160. filldraw stroke z1e...z2e...z3e...z4e...z20e...z5e...{down}z7e...{left}z8e...{up}z9e...z10e---z11e;
  161. filldraw stroke z12e---z13e;
  162. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13); 
  163.  
  164. elseif callchar="v":
  165.  
  166. charspec("v",1.5x_height#,x_height#,0);
  167. x1=x81=u; x6=.6[x1,x9]; x8=x9=x10=w-u; x7=.4[x5,x6];
  168. x5=.5[x1,x6]; x3=.4[x1,x6]; x2=x4=.5[x1,x3];
  169. y2=.5h; y1=y3=y81=.5y2; bot y4r=bot y7r=bot y8r=0; 
  170. top y5r=y10=h; y9=0; y6=.5h;
  171. pos1(tthinner,180); pos2(tthin,90); pos3(tthick,0); pos4(tthin,-90);
  172. pos81(tthin,-180); pos5(tmed,-270); pos6(tthick,-360); pos7(tthick,-450);
  173. pos8(tthick,-450); pos9(tthick,0); pos10(tthick,0);
  174. filldraw stroke z1e..z2e..z3e..z4e..z81e..z5e...{down}z6e...{left}z7e;
  175. filldraw stroke z7e--z8e; filldraw stroke z9e--z10e;
  176. penlabels(1,2,3,4,5,6,7,8,9,10); 
  177.  
  178.  
  179. elseif callchar="l":
  180.  
  181. charspec("l",1.5x_height#,x_height#,0);
  182. x81=u; x9=w-u; x6=x7=.55[x81,x9]; x8=x10=.5[x6,x9]; x1=.1[x81,x6];
  183. x5=.5[x81,x6]; x3=.4[x1,x6]; x2=x4=.5[x1,x3];
  184. y81=y2=.5h; y1=y3=.5y2; bot y4r=bot y8l=0;
  185. top y5r=h; top y10l=h; y9=.5h; y6=.6h; y7=.4h;
  186. pos1(tthinner,180); pos2(tthin,90); pos3(tmed,0); pos4(tthin,-90);
  187. pos81(tthin,-180); pos5(tmed,-270); pos6(tthick,-360); pos7(tthick,-360);
  188. pos8(tmed,-270); pos9(tthin,-180); pos10(tmed,-120);
  189. %filldraw stroke z4e...z1e..z2e..z3e..z4e...{up}z81e..z5e...{down}z6e--z7e{down}...{right}z8e...{up}z9e..z10e;
  190. penlabels(1,2,3,4,5,6,7,8,9,10); 
  191.  
  192. elseif callchar="m":
  193.  
  194. charspec("m",1.6x_height#,x_height#,0);
  195. lft x1l=lft x2l=x3=u;
  196. rt x5r=w-u; x8=x7=.5w;
  197. x6=.3[x8,x5]; x4=.8[x8,x5];
  198. y1=top y6r=h;
  199. y2=bot y3r=bot y4r=y8=0;
  200. y5=.5h; y7=.8h;
  201. pos1(tthick,0); pos2(tthick,0); 
  202. pos3(tthin,-90); pos4(tthin,-90); 
  203. pos5(tthinner,0); pos6(tmed,90); 
  204. pos7(tthick,180); pos8(tthick,180); 
  205. filldraw stroke z1e---z2e;
  206. filldraw stroke z3e---z4e...{up}z5e...{left}z6e...{down}z7e---z8e;
  207. penlabels(1,2,4,5,6,7,8);
  208.  
  209. elseif callchar="T":
  210.  
  211. charspec("7",1.75x_height#,x_height#,0);
  212. lft x1l=lft x2l=x3=u; x4=w-u;
  213. y1=h; y2=bot y3l=bot y4l=0;
  214. pos1(tthick,0); pos2(tthick,0); 
  215. pos3(tthin,90); pos4(tthin,90); 
  216. filldraw stroke z1e---z2e;
  217. filldraw stroke z3e---z4e;
  218. penlabels(1,2,4);
  219.  
  220. elseif callchar="L":
  221.  
  222. charspec("9",1.75x_height#,x_height#,0);
  223. x81=x1=u; x6=x7=x8=x9=.55w; x11=x12=.8w; x10=w-u;
  224. x3=x5=.5[x1,x6]; x2=x4=.5[x1,x3];
  225. bot y4r=y6=y7=y11=0; top y5r=y8=top y9r=top y10r=y12=h;
  226. y1=y81=y3=.5y2; y2=.6h;
  227. pos1(tthinner,180); pos2(tthin,90); pos3(tmed,0);
  228. pos4(tthin,-90); pos81(tthinner,-180); pos5(tthick,-270);
  229. pos6(tthin,-360); pos7(tthin,0); pos8(tthin,0);
  230. pos9(tthin,90); pos10(tthin,90); pos11(tthick,0); pos12(tthick,0);
  231. if dodraw:
  232. filldraw stroke z1e...{right}z2e...{down}z3e...{left}z4e..z81e...{right}z5e...{down}z6e;
  233. filldraw stroke z7e---z8e; filldraw stroke z9e---z10e;
  234. filldraw stroke z11e---z12e;
  235. fi
  236. penlabels(1,2,3,4,5,6,8,10,11,12);
  237.  
  238. elseif callchar="N":
  239.  
  240. charspec("N",2x_height#,x_height#,0);
  241. x81=u; x1=.05[x81,x6]; x6=.6w; x8=.6[x81,x6]; x7=.5[x8,x6];
  242. x5=.5[x81,x6]; x3=.5[x1,x8]; x4=x2=.5[x1,x3];
  243. x13=rt x6r; x14=w-u; x15=x16=.5[x13,x14];
  244. top y5r=top y13r=y16=top y14r=h;
  245. bot y4r=bot y7r=y15=0;
  246. y8=y6=.5h; y2=bar_height; y81=y2;
  247. y1=y3=.5y2;
  248. pos1(tthinner,180); pos2(tthin,90); pos3(tmed,0); pos4(tthin,-90);
  249. pos81(tthinner,-180); pos5(tmed,-270); pos6(tthicker,-360);
  250. pos7(tmed,-450); pos8(tthin,-540); 
  251. pos13(tthin,-630);
  252. pos14(tthin,-630); pos15(tthicker,0); pos16(tthicker,0);
  253. if dodraw:
  254. filldraw stroke z4e...{up}z1e...{right}z2e...{down}z3e...{left}z4e...{up}z81e...{right}z5e
  255.   ...{down}z6e...{left}z7e...{up}z8e...{right}z13e; %---z14e;
  256. %filldraw stroke z15e---z16e;
  257. fi
  258. penlabels(1,2,3,4,5,6,7,8,13,14,15,16);
  259.  
  260. elseif callchar="R":
  261.  
  262. charspec("R",1.3x_height#,x_height#,desc_depth#);
  263. x1=x11=u; x7=w-u; x3=x5=.4[x1,x7]; x2=.5[x1,x3]; x6=.5[x4,x7]; x8=.9[x1,x7];
  264. rt x12r=.5u; x9=x10=.05[x1,x7]; x4r=x3l;
  265. top y2l=top y6l=h; y8=y1=y5=.05h; y9=-.4d; y10=-.8d; y12=-.6d;
  266. y11=y3=y4=.7h; y7=.4h;
  267. pos1(tthin,0); pos11(tthin,0); pos2(tmed,-90); pos3(tthick,-180);
  268. pos4(tthinnest,0); pos5(tthick,-180); pos6(tthin,-90); pos7(tthick,-180);
  269. pos8(tthin,-245); pos9(tthin,-245); pos12(tthin,-180); pos10(tthin,-135);
  270. filldraw stroke z1e--z11e{up}...{right}z2e...{down}z3e--z5e;
  271. %filldraw stroke z4e{up}...{right}z6e...{down}z7e..z8e..z9e...{down}z12e..z10e;
  272. penlabels(1,2,3,5,6,7,8,9,10,11,12); 
  273.  
  274. elseif callchar="g":
  275.  
  276. charspec("2",1.5x_height#,x_height#,0);
  277. lft x1l=lft x2l=x3=u; x11=x12=x13=w-u;
  278. x8=.7[x1,x12]; x5=x6=x7=x10=.4[x1,x8]; x9=.5[x1,x12]; % x7=x6r; will line up
  279. x4=.8[x1,x13]; x77=.6[x7,x8]; 
  280. y1=bot y10l=y9=bot y11l=y12=0;
  281. y2=top y3r=top y4r=y5=y13=h;
  282. y6=.35h; y8=.4h; y77=.65h; 
  283. pos1(tthinnest,0); pos2(tthinnest,0);
  284. pos3(tthin,90); pos4(tthin,90);
  285. pos5(tthick,0);
  286. % pos6(tthick,45); 
  287. x6l+.5tthick=x6=x6r-.5tthick; y6l+.5tthick=y6=y6r-.5tthick;
  288. y7l=y6r;
  289. pos77(tthin,90);
  290. pos7(tthinner,90); pos8(tthicker,45); pos9(tthick,0);
  291. pos10(tthin,90); pos11(tthin,90);
  292. pos12(tthick,0); pos13(tthick,0);
  293. filldraw stroke z1e---z2e;
  294. filldraw stroke z3e---z4e;
  295. filldraw stroke z5e---z6e;
  296. filldraw stroke z7e..z77e{right}...z8e{down}...z9e;
  297. filldraw stroke z10e---z11e;
  298. filldraw stroke z12e---z13e;
  299. penlabels(1,2,4,5,6,8,9,10,11,13); 
  300.  
  301.  
  302. elseif callchar = "e":
  303.  
  304. charspec(6,1.6x_height#,x_height#,0);
  305. y6=y7=y8=h; y9=bot y4r=0; y2=.6h; y1=.3h; y3=.3h; y5=y2; %y5=.85h;
  306. x5=u; x7=w-u; x8=x9=x7-2u; x6=x3=x1+3u; x1=x5+hair; x2=x4=x1+1.5u;
  307. z20=z1;
  308. pos1(tthinnest,180); pos2(tmed,90); pos3(tthick,0); pos4(tmed,-90); pos20(tthin,-160);
  309. pos5(tthinner,-180); pos6(tthin,-270); pos7(tthin,-270);
  310. pos8(tthick,0); pos9(tthick,0);
  311. filldraw stroke z1e..z2e..z3e..z4e..z20e...{right}z6e---z7e;
  312. filldraw stroke z8e---z9e;
  313. penlabels(1,2,3,4,5,6,7,8,9); 
  314.  
  315. elseif callchar = "u":
  316.  
  317. charspec(4,2x_height#,x_height#,0);
  318. x6=.55w; x4=x9=.1w; x1=x8=x10=.15w; x3=.2w; x2=.3w; x5=x7=.4w; x11=.9w;
  319. y10=y11=0; y5=h; y1=.85h; y2=y4=y6=.65h; y3=.45h;
  320. y7=y8=.25h; y9=.125h;
  321. z20=z1;
  322. pos1(tmed,45); pos2(tmed,0); pos3(tthinner,-90); pos4(tthinnest,-180);
  323. pos20(tthinnest,-225); pos5(tthinner,-270); pos6(tthick,-360); pos7(tmed,-430);
  324. pos8(tthin,-450); pos9(tthinnest,-360); pos10(tthin,-290);
  325. pos11(tthin,-290);
  326. filldraw stroke z1e..z2e..z3e..z4e..z20e...{right}z5e;
  327. filldraw stroke z5e{right}...{down}z6e...{left}z7e;
  328. filldraw stroke z7e{left}...{left}z8e...{down}z9e;
  329. filldraw stroke z9e{down}...{right}z10e---z11e;
  330. penlabels(1,2,3,4,5,6,7,8,9,10,11); 
  331.  
  332. elseif callchar = "S":
  333.  
  334. charspec("S",2.2x_height#,asc_height#,desc_depth#);
  335. x1=x81=u; x6=.45[x1,x9]; x8=x9=x10=w-u; x7=.4[x5,x6];
  336. x5=.5[x1,x6]; x3=.4[x1,x6]; x2=x4=.5[x1,x3];
  337. y2=.5x_height; y1=y3=y81=.5y2; bot y4r=bot y7r=bot y8r=0; 
  338. top y5r=y10=x_height; y9=0; y6=y2;
  339. pos1(tthinner,180); pos2(tthin,90); pos3(tthick,0); pos4(tthin,-90);
  340. pos81(tthin,-180); pos5(tmed,-270); pos6(tthick,-360); pos7(tmed,-450);
  341. pos8(tthick,-450); pos9(tthick,0); pos10(tthick,0);
  342. filldraw stroke z1e..z2e..z3e..z4e..z81e..z5e...{down}z6e...{left}z7e;
  343. x40=w-3.5u; y40=y7; pos40(tmed,-450); y41=.5bar_height; x41=w-u;
  344. pos41(tthick,-360); x43=.5[x7,x40]; y43=h-y41; z42=.5[z41,z43];
  345. pos42(.5(tthick+tthin),-315); pos43(tthin,-360);
  346. x44=.5[x43,x45]; top y44l=h; pos44(tmed,-450); x45=x43+4u; y45=y43;
  347. pos45(tthin,-540); x46=.5[x7,x43]; bot y46l=-d; pos46(tthinner,-585);
  348. filldraw stroke z7e--z40e{right}...{up}z41e...{z43-z41}z42e...{up}z43e
  349.   ...{right}z44e...z45e--z46e;
  350. penlabels(1,2,3,4,5,6,7,40,41,42,43,45,46); 
  351.  
  352. elseif callchar = "s":
  353.  
  354. charspec("s",2.4x_height#,x_height#,0);
  355. x6=u; y6=.5h; x8=x9=.43w; x12=x13=.7w; x15=w-u;
  356. x7=x3=x1=.5[x6,x9]; x2=x1-1.5u; x4=x1+1.5u; y2=y4=.5[y1,y3];
  357. top y3l=bar_height; bot y1l=0; z5=z1; top y7l=top y11l=top y16r=h;
  358. y8=.65h; y9=0; bot y14r=0; x11=.5[x9,x14]; x14=.4[x13,x15]; x16=.65[x13,x15];
  359. y15=y6; y12=y8; y13=1.5u; z10=z8;
  360. pos1(tthin,90); pos2(tthin,0); pos3(tthin,-90); pos4(tmed,-180);
  361. pos5(tthin,-270); pos6(tthin,-360); pos7(1.2tthin,-450); pos8(tmed,-540);
  362. pos9(tmed,-540); pos10(tthin,0); pos11(tthin,-90); pos12(tmed,-180);
  363. pos13(tmed,-180); pos14(.8tmed,-90); pos15(tthin,0); pos16(tthinner,45);
  364. filldraw stroke z1e...{up}z2e...{right}z3e...{down}z4e...{left}z5e
  365.    ...{up}z6e...{right}z7e...{down}z8e--z9e;
  366. filldraw stroke z10e{up}...{right}z11e...{down}z12e--z13e...{right}z14e
  367.    ...{up}z15e...{left}z16e;
  368. penlabels(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16);
  369.  
  370. elseif callchar = "j":
  371. %cmchar "grantha j";
  372. charspec("j",1.75x_height#,x_height#,.8x_height#);
  373. top y7r=y10l=h; y4=y8=y9=.2h; bot y15r=bot y19l=-d; y12=.9bar_height;
  374. y21=.25h; y13=-.2d; y14=-.6d; y16=-.8d; y17=y18=-.3d; y20=-.2d;
  375. y1=y3=.4h; y2=.7h; y11=.75h; y85=0;
  376. x14r=x1r=u; x11=x12l=w-u; x8=x9=x17=x18=.55[x1,x11]; x85=x8;
  377. x7=.6[x1,x8]; x10=.5[x9,x11]; x3=.6[x1,x8]; x2=x4=.5[x1,x3];
  378. x13=x2; x15=x7-.7u; x16=x17; x19=.5[x18,x11]; x20=.95x11; x21=.9x11;
  379. x77=x8; y77=.6h; z99=z77;
  380. pos77(tthick,-360); pos99(tthick,0);
  381. pos1(tthinner,180); pos2(tthin,90); pos3(tmed,0); pos4(tthin,-90);
  382. z55=z1; pos55(tthinner,-180);
  383. pos7(tthick,-270); pos8(tmed,-405);
  384. pos9(tmed,-45); pos10(tthin,-90); pos11(tthick,-180); pos12(tthick,-200);
  385. pos21(tthin,-240); pos13(tthinner,-240); pos14(tthin,-180); 
  386. pos15(tthick,-90); pos16(tthick,-45); pos17(tthick,-45);
  387. pos18(tthick,-45); pos19(tthin,-270); pos20(tmed,225);
  388. pos85(tthin,-270);
  389. x65=x19; y65=y17; pos65(tthin,-90); x66=x12; y66=.5[y65,y19]; pos66(tmed,-180);
  390. z67=.5[z15,z65]; pos67(tthin,-315);
  391. filldraw stroke z1e..z2e{right}..z3e{down}..z4e{left}..z55e...{right}z7e...{down}z77e---z8e;
  392. filldraw stroke z9e---z99e{up}...z10e{right}...{down}z12e...{left}z85e{left}..z14e{down}...z15e{right}
  393.   ...{right}z65e...{down}z66e...{left}z19e...z67e;
  394. penlabels(1,2,3,4,55,7,8,9,10,11,12,21,13,14,15,65,66,19,67);
  395.    
  396. elseif callchar="h":
  397.  
  398. charspec("h",3x_height#,x_height#,desc_depth#);
  399. x1=x81=u; x6=.6[x1,x8]; x8=1.5x_height-u; x7=.4[x5,x6];
  400. x5=.5[x1,x6]; x3=.4[x1,x6]; x2=x4=.5[x1,x3];
  401. y2=.5h; y1=y3=y81=.5y2; bot y4r=bot y7r=bot y8r=0; 
  402. top y5r=h; y6=.5h;
  403. pos1(tthinner,180); pos2(tthin,90); pos3(tthick,0); pos4(tthin,-90);
  404. pos81(tthin,-180); pos5(tmed,-270); pos6(tthick,-360); pos7(tthick,-450);
  405. pos8(tthick,-450);
  406. filldraw stroke z1e..z2e..z3e..z4e..z81e..z5e...{down}z6e...{left}z7e;
  407. filldraw stroke z7e--z8e; 
  408.  
  409. x101=x111=x8; x107=w-2u; x103=x105=.4[x101,x107]; x102=.5[x101,x103]; 
  410. x106=.5[x104,x107]; x108=.9[x101,x107];
  411. rt x112r=u; x109=x110=x112+.75u; x104r=x103l;
  412. top y102l=top y106l=h; y108=y101=y105=0; y109=-.4d; y110=-.8d; y112=-.6d;
  413. y111=y103=y104=.7h; y107=.4h; y131=y109+.2u; x131=.3[x108,x109]; pos131(tthinner,-270);
  414. pos101(tthin,0); pos111(tthin,0); pos102(tmed,-90); pos103(tthick,-180);
  415. pos104(tthinnest,0); pos105(tthick,-180); pos106(tthin,-90); pos107(tthick,-180);
  416. pos108(tthin,-245); pos109(tthin,-245); pos112(tthin,-180); pos110(tthin,-135);
  417. filldraw stroke z101e--z111e{up}...{right}z102e...{down}z103e--z105e;
  418. filldraw stroke z104e{up}...{right}z106e...{down}z107e..z108e...{left}z131e...z109e...{down}z112e..z110e;
  419. penlabels(101,102,103,104,105,106,107,108,109,110); 
  420.  
  421.  
  422.  
  423.  
  424. fi
  425.  
  426. enddef;
  427.  
  428. def aipoints =
  429. x209=x204=-x_height+u; x201=x203=x205=x204+1.5u; x202=x201+1.5u; x207=0;
  430. y209=.9bar_height; y207=asc_height-y209;
  431. y208=.5[y209,y207]; x206=x208=x210=-.5x_height+.5u;
  432. y201=y205=y206-.5u; y204=y202=y201-1.5u; y203=y202-1.5u;
  433. if goleft:
  434. top y206l=asc_height; bot y210r=0; 
  435. pos201(tthin,-90); pos202(tmed,-180); pos203(tthin,-270);
  436. pos204(tthin,-360); pos205(tthin,-450); pos206(tthin,-450);
  437. pos207(tthick,-540); pos208(tthin,-585); pos209(tthin,-540);
  438. pos210(tthin,-450);
  439. else:
  440. top y206r=asc_height; bot y210l=0; 
  441. pos201(tthin,90); pos202(tmed,0); pos203(tthin,-90);
  442. pos204(tthin,-180); pos205(tthin,-270); pos206(tthin,-270);
  443. pos207(tthick,-360); pos208(tthin,-405); pos209(tthin,-360);
  444. pos210(tthin,-270);
  445. fi
  446. enddef;
  447.